<template>
  <div id="app">
    <keep-alive>
      <!-- 里面是当需要缓存时   显示组件的 router-view-->
      <router-view v-if="$route.meta.keepAlive" ></router-view>
    </keep-alive>
    <!-- 外面是不需要缓存时 -->
    <router-view v-if="!$route.meta.keepAlive" ></router-view>
  </div>
</template>

<script>
import {Wechatshare} from '@/http/api'
import wx from 'weixin-js-sdk'
export default {
  name: 'App',
  data(){
    return {
    }
  },
  methods:{
    setShareFn(data){
        let _this= this
        console.log(data)
        wx.config({
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
          appId: data.wechat.appId, // 必填，公众号的唯一标识
          timestamp: data.wechat.timestamp, // 必填，生成签名的时间戳
          nonceStr: data.wechat.nonceStr, // 必填，生成签名的随机串
          signature: data.wechat.signature,// 必填，签名
          jsApiList: ['updateTimelineShareData','updateAppMessageShareData','hideMenuItems'] // 必填，需要使用的JS接口列表
        });
        wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
          wx.hideMenuItems({
            menuList: ["menuItem:copyUrl",'menuItem:openWithSafari','menuItem:openWithQQBrowser'] // 要隐藏的菜单项，只能隐藏“传播类”和“保护类”按钮，所有menu项见附录3
          });
          wx.updateAppMessageShareData({ 
            title:data.title, // 分享标题
            desc:data.desc,
            link:data.url, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl:data.logo, // 分享图标
            success: function (res) {
              // 设置成功
            }
          })
          wx.updateTimelineShareData({ 
            title:data.title, // 分享标题
            link:data.url, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl:data.logo, // 分享图标
            success: function (res) {
              // 设置成功
            }
          })
        }); 
      },
      getShareData(){
        let data = {
        }
        Wechatshare(data).then((res)=>{
          if(res.data.code==1){
            this.setShareFn(res.data.data)
          }else{
            this.showToast = true
            this.showText = res.data.msg
          }
        })
      },
  },
  created(){
    this.getShareData()
  }
}
</script>

<style>
#app {
}
</style>
